#ifndef CONTEXT_GAME_H
#define CONTEXT_GAME_H


#include "Engine/Visual.h"
#include "Engine/Reason.h"
#include "Engine/Sense.h"
#include "Engine/Resource/Graphic.h"

#include <list>

namespace Context { class Track; } 
namespace Context { class Car; }

namespace Context {

/** Implements gameplay logic. This class represents everything related to gameplay **/
class Game : public Engine::Visual, public Engine::Reason, public Engine::Sense {
	private:
		Context::Track * track;
		std::list<Car *> racers;

	public:
		Game(); 
		virtual Engine::Resource::GraphicList display();
		virtual void pulse(int delta); 
		inline virtual void exit(); 
};

inline void Game::exit() {
}

} // namespace Context
#endif
